package com.quectel.core.module.scheduling.dto.mongo;

import com.quectel.core.module.dept.dto.DeptDto;
import com.quectel.core.module.dept.dto.DeptPersonDto;
import com.quectel.core.module.scheduling.dto.SchedulingAttendanceGroupDto;
import com.quectel.core.module.scheduling.dto.SchedulingTimeConfigDto;
import com.quectel.core.module.village.dto.VillageDto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 原始打卡记录表
 *
 * @author caolu
 * @email louis.cao@quectel.com
 * @date 2021-11-22 11:47:45
 */
@Data
@Schema
public class MongoOriginalCheckRecordDto implements Serializable {

    /**
     * id
     */
    private Long id;

    /**
     * 租户id
     */
    private Long tenantId;

    /**
     * 小区id
     */
    private Long villageId;

    /**
     * 员工 id
     */
    private Long personId;

    /**
     * 考勤组 id
     */
    private Long attendanceGroupId;

    /**
     * 考勤记录 id
     */
    private Long dailyId;

    /**
     * 打卡位置经度
     */
    private Double longitude;

    /**
     * 打卡地址纬度
     */
    private Double latitude;

    /**
     * 打卡地址
     */
    private String address;

    /**
     * 是否补卡
     */
    private Byte isRepair;

    /**
     * 是否外勤
     */
    private Byte isField;

    /**
     * 外勤打卡图片集合
     */
    private String[] pics;

    /**
     * 外勤打卡备注
     */
    private String remark;

    /**
     * 打卡时间
     */
    private Date checkTime;

    /**
     * 员工信息
     */
    private DeptPersonDto deptPerson;

    /**
     * 部门信息
     */
    private DeptDto dept;

    /**
     * 考勤组信息
     */
    private SchedulingAttendanceGroupDto schedulingAttendanceGroup;

    /**
     * 当天排班时间段
     */
    private List<SchedulingTimeConfigDto> times;

    /************非数据库字段 start ************/
    @Schema(description = "小区信息")
    private VillageDto village;
    /************非数据库字段 end **************/
}
